1. Field of the Invention
The present invention generally relates to the technical field of data distribution, and more particularly to a data distribution apparatus and method, in which an input multiplexed stream formed by multiplexing video data, audio data, etc. on a plurality of channels in units of a packet is demultiplexed according to each channel and each of the demultiplexed data is distributed to a decoder on a corresponding one of the channels.
This application claims the priority of the Japanese Patent Application No. 2002-196277 filed on Jul. 4, 2002, the entirety of which is incorporated by reference herein.
2. Description of the Related Art
For distribution of digital contents over a network, a plurality of elementary streams such as video data, audio data, text data, program data and other system data necessary for transmission, supplied from a plurality of data encoders, is multiplexed at the sending side. The distributed multiplexed stream is demultiplexed by a demultiplexer at the receiving side into a plurality of elementary streams each of which is distributed to a decoder on a corresponding channel.
For demultiplexing a multiplexed stream into a plurality of elementary streams, the conventional demultiplexer analyzes the number of elementary stream channels included in the multiplexed stream, and pre-divides a memory area for data on each of the channels. Then, the demultiplexer stores an input packet into a a divisional memory area for data on a corresponding channel. The division of the memory area for each of the channels is effected in a first session done after the multiplexed stream is supplied.
In some cases, however, the number of channels of data included in a multiplexed stream varies dynamically as the time elapses. For example, in a TV conference system or the like over which a plurality of users has a talk with each other, when an additional user participates in the conference or any of the participants leaves the conference, the number of channels will vary dynamically. When the number of channels varies dynamically, division of the memory area by a number of channels determined at the start of a session will lead to an insufficient number of channel areas formed in the memory or result in an unused memory area in the course of data transfer.
Also, the packet distribution in which it is judged to which channel an input packet corresponds and the input packet is stored into a corresponding memory area has to be done on the real-time basis. Also, the amount of processing in the packet distribution is large. Therefore, if a main controller used by other circuits as well is let to make the packet distribution in addition, the burden to the main controller will be increased since the packet distribution has to be done on the real-time basis. Further, even if a hardware is provided independently of the main controller to effect the packet distribution, the circuit scale will be larger since the amount of processing is large.